package com.link.base.base.message.push.dao.mybatis.mapper;

import com.link.base.base.message.push.model.PushInfo;

import java.util.List;

/**
 * 消息管理 - 消息推送
 * 
 * @author ouyangzhenqiang
 * @date 2018/10/26
 */
public interface PushMapper {

    /**
     * 查询需推送的业务数据消息 - web
     *
     * @author ouyangzhenqiang
     * @date 2019/07/25 16:58
     */
    List<PushInfo> getWebPushList();

    /**
     * 查询需推送的业务数据消息 - app 极光渠道
     *
     * @author ouyangzhenqiang
     * @date 2019/07/25 16:58
     */
    List<PushInfo> getNormalAppPushList();

    /**
     * 更新web消息推送结果
     *
     * @author ouyangzhenqiang
     * @date 2019/07/25 16:59
     */
    void updateWebPushResult(PushInfo pushInfo);

    /**
     * 更新app消息推送结果
     *
     * @author ouyangzhenqiang
     * @date 2019/07/25 16:59
     */
    void updateAppPushResult(PushInfo pushInfo);

    /**
     * 插入推送消息 - 接口类型的sql拦截形式
     *
     * @author ouyangzhenqiang
     * @date 2019/07/25 16:59
     */
    void messageInsertByInterface(PushInfo pushInfo);

    /**
     * 通过Id查询需要推送的消息 - 不区分web推送和app推送，用于立即推送场景
     *
     * @author ouyangzhenqiang
     * @date 2019/07/25 16:59
     */
    PushInfo queryPushItemById(PushInfo pushInfo);
}
